// 基准配置
const baseSize = 144; // 1440px屏幕下的根字体大小
const minWidthThreshold = 1000; // 停止缩放的阈值
// 计算1000px时对应的固定font-size（1000px / 1440px * 基准值）
const fixedFontSizeAtMinWidth = (minWidthThreshold / 1440) * baseSize;

// 设置rem函数
function setRem() {
    try {
        const clientWidth = document.documentElement.clientWidth;
        
        if (clientWidth < minWidthThreshold) {
            // 屏幕小于1000px：强制固定font-size，不再随屏幕缩小变化
            document.documentElement.style.fontSize = `${fixedFontSizeAtMinWidth}px`;
        } else {
            // 屏幕≥1000px：正常按比例缩放
            const scale = clientWidth / 1440;
            document.documentElement.style.fontSize = `${baseSize * scale}px`;
        }
    } catch (error) {
        console.error('设置rem时出错:', error);
    }
}

// 防抖函数
function debounce(func, delay) {
    let timer = null;
    return function () {
        clearTimeout(timer);
        timer = setTimeout(() => func.apply(this, arguments), delay);
    };
}

// 初始化
setRem();

// 监听窗口变化（防抖处理）
const debouncedSetRem = debounce(setRem, 200);
window.addEventListener('resize', debouncedSetRem);

// 监听浏览器缩放（强制刷新）
let lastZoomLevel = window.devicePixelRatio;
function checkZoomLevel() {
    const currentZoom = window.devicePixelRatio;
    if (Math.abs(currentZoom - lastZoomLevel) > 0.1) {
        window.location.reload();
    }
    lastZoomLevel = currentZoom;
}
const debouncedCheckZoom = debounce(checkZoomLevel, 300);
window.addEventListener('resize', debouncedCheckZoom);

// 调试信息（验证效果）
console.log('初始化配置:', {
    baseSize,
    minWidthThreshold,
    fixedFontSizeAtMinWidth: `${fixedFontSizeAtMinWidth}px`, // 小于1000px时的固定值
    currentScreenWidth: document.documentElement.clientWidth,
    currentFontSize: document.documentElement.style.fontSize
});